package org.example.backend.demos.web.NewsModule.service;

import org.example.backend.demos.web.NewsModule.entity.News;
import org.example.backend.demos.web.result.Pages;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 新闻表(News)表服务接口
 *
 * @author makejava
 * @since 2025-09-08 15:32:53
 */
@Service
public interface NewsService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    News queryById(Long id);

    /**
     * 分页查询
     *
     * @param news 筛选条件
     * @param pageRequest      分页对象
     * @return 查询结果
     */
    Page<News> queryByPage_limit(News  news, PageRequest pageRequest);

    /**
     * 分页查询
     *
     * @param page 分页对象
     * @param size 分页对象
     * @return 列表
     */
    Page<News> GetProjectByPage(int page, int size);


    /**
     * 分页查询
     *
     * @param pages 分页对象
     * @return 列表
     */
    Pages queryByPage(Pages pages);

    /**
     * 新增数据
     *
     * @param news 实例对象
     * @return 实例对象
     */
    News insert(News news);

    /**
     * 修改数据
     *
     * @param news 实例对象
     * @return 实例对象
     */
    News update(News news);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Long id);
    /**
     * 查询所有数据
     *
     * @return 实例对象
     */
    List<News> queryAll();

}
